function [PQ, status, scheduledTargets] = BsMf_Schedule_Heuristic(PQ, sensor1TargetOrder, sensor2TargetOrder, param)
%BsMf_Schedule_Heuristic Summary of this function goes here
%   Detailed explanation goes here

[s1NrTargets, s1OlTargets] = ST_OrderedTargetList(sensor1TargetOrder);
[s2NrTargets, s2OlTargets] = ST_OrderedTargetList(sensor2TargetOrder);

% build list of strings
[allTargetStrings] = HR_FindAllTargetStringsRecursive(s1NrTargets, s1OlTargets, s2NrTargets, s2OlTargets);

% % prune equal strings
% [uniqueTargetStrings] = HR_PruneTargetEqualStrings(allTargetStrings);

% prune sub-strings
%[targetStrings] = HR_PruneTargetSubStrings(uniqueTargetStrings);
%[targetStrings] = HR_PruneTargetSubStrings(allTargetStrings);

% use priority queue to select best string.
%[scheduledTargets, status] = HR_SelectBestTargetString(PQ, targetStrings);
[scheduledTargets, status] = HR_SelectBestTargetString(PQ, allTargetStrings);
end